Contact centers run highly sophisticated algorithms to match appropriately-skilled agents to difficult work items. The difficult work items are typically routed and assigned to available agents with appropriate skills as they arrive at the contact center. Contact center systems have ways of determining which highly skilled agents are or are not available. Unfortunately, contact center systems are not configured to become aware of when skilled agents might be freeing up in the near future. Furthermore, existing contact center systems to do not have the ability to see if there are difficult work items for which an agent may be better suited that are coming up within a very short timeframe. Generally, currently available contact center systems are only configured to see one match ahead or one deep. Difficult work items may not go to the best agent if he or she is not immediately available.